In recent years, a network technique for searching for a device which provides a predetermined service on a network has been developed. As one example of this technique, Microsoft Corporation proposes UPnP (Universal Plug and Play) (for example, a reference “Universal Plug and Play Device Architecture Version 1.0, 08 Jun. 2000 10:41 AM”). UPnP defines a “service”, “device”, and “control point”. The service is a logical unit for providing a predetermined service, the device is a logical unit including one or more services, and the control point is a logical unit for controlling the one or more services.
UPnP includes Internet standard techniques such as IP, TCP, UDP, and HTTP. With reference to the above reference which defines the automatic step of causing the devices to be connected to the network and to mutually detect and recognize, the step of actually controlling the devices, and the step of issuing an event, the addressing and discovery steps of UPnP will be described below.
Addressing is a step of acquiring a network address, i.e., IP address. The addressing step is a premise to be performed before the devices participate in the network and mutually operate. UpnP defines two means for setting the IP address.
The first means is a means for acquiring the IP address from a DHCP (Dynamic Host Configuration Protocol) server (for example, a reference “RFC 2131 Dynamic Host Configuration Protocol. IETF request for comments.”). DHCP will be briefly described below.
An UPnP device must include a DHCP client function. When participating in the network, the UPnP device first checks the presence/absence of a DHCP server (DHCP DISCOVER). If the DHCP server is present in the network, the UPnP device can receive a response from the DHCP server (DHCP OFFER), apply an IP address request (DHCP REQUEST), and obtain a unique IP address arbitrarily generated by the DHCP server in the single network for a predetermined period of time (DHCP ACK). This predetermined period of time is a lease period. Hence, when the IP address is to be continuously used, the update request (DHCP REQUEST) must be applied to the DHCP server before the end of the lease period to obtain an update allowance. Also, when the IP address is not required, e.g., when the device leaves the network, the IP address must be returned to the DHCP server.
The second means is a means for setting the IP address using an AutoIP technique (for example, a reference “Automatically Choosing an IP Address in an Ad-Hoc IPv4 Network. IETF draft.”) AutoIP will be briefly described below.
AutoIP is a function of causing the device itself to arbitrarily generate and set the IP address. An available IP address range is limited from address “169.254.1.0” to address “169.254.254.255”. Upon recognizing the absence of the DHCP server on the network, the device arbitrarily generates the IP address in this IP address range. After confirming, by using an ARP (Address Resolution Protocol), the absence of another device which uses the same IP address in the same network, the device sets the IP address. Hence, addressing can be executed even in the network where the DHCP server is not present.
In order to prevent an increase in network traffic by ARP, the means by DHCP server assignment of the two means is preferentially used by UPnP. Therefore, the UPnP device set by AutoIP must constantly check whether the DHCP server is present on the network (DHCP DISCOVER). UPnP is recommended to check the DHCP server at intervals of 5 min.
The UPnP device sets the IP address in the addressing step, and then executes discovery. Discovery is the step of causing all of the devices on the network to automatically and mutually recognize. Discovery roughly defines two messages. One is an ALIVE message which notifies that the device participates in the network, and the other is a BYEBYE message which notifies that the device leaves the network. Since these messages are multicast, all of the devices on the network can mutually recognize their presence/absence. Each of the two messages is of a Notification type defined in accordance with a GENA protocol. Hence, the message can set four types of notice targets, i.e., a route device, UUID, device type, and service type.
The UPnP device sets the IP address by the means as described in the addressing step. However, in the network where the IP addresses of the plurality of UPnP devices are managed by the DHCP server, a problem to be described below occurs if the DHCP server leaves the network.
FIG. 7 shows the example of a sequence in this problem.
In FIG. 7, an UpnP network includes a digital video camcoder (to be referred to as a DVCR hereinafter), DHCP server, and digital television (to be referred to as a DTV hereinafter). All of these devices respectively use the IP addresses assigned by the DHCP server. Note that the DHCP server is the access point of a wireless LAN. However, the DHCP server is not limited to this. The DHCP server may be a PC and the like, and be connected with a wired network (e.g., Ethernet®).
In FIG. 7, the DHCP server has IP address “192.168.0.1” (fixed), the DVCR which is a DHCP client has IP address “192.168.0.2”, and the DTV has IP address “192.168.0.3”. Note that each of the devices generally has subnet mask “255.255.255.0”.
Consider a case wherein the DHCP server suddenly leaves the network while the DVCR transfers recorded motion image data to the DTV by streaming (e.g., a case wherein a failure occurs, a power supply is turned off, or the DHCP server leaves the area of a wireless communication).
Assume that the DVCR issues an IP address update request immediately after the DHCP server leaves the network. Of course, since the DHCP server is not present, the response is not issued. That is, the DVCR detects the absence of the DHCP server, and then shifts to AutoIP to set an arbitrary IP address, e.g., address “169.254.1.1”. However, in this case, the network address set by AutoIP (16-bit subnet mask “255.255.0.0” is defined) is different from the conventional network address set by using the IP address assigned by the DHCP server. Hence, the streaming transfer from the DVCR to the DTV is interrupted.